package com.opentae.data.mall.examples;

import com.opentae.core.mybatis.SgExample;
import com.opentae.core.mybatis.example.EntityColumn;
import com.opentae.core.mybatis.example.EntityTable;
import com.opentae.core.mybatis.mapperhelper.EntityHelper;
import com.opentae.data.mall.beans.DiyFunction;

import java.util.*;
public class DiyFunctionExample extends SgExample<DiyFunctionExample.Criteria> {
    public static final Class<DiyFunction> beanClass = DiyFunction.class;
    public static final EntityTable entityTable = EntityHelper.getEntityTable(beanClass);
    public static EntityColumn functionId;
    public static EntityColumn permissions;
    public static EntityColumn jsScript;
    public static EntityColumn locationType;
    public static EntityColumn redirectTo;
    public static EntityColumn pageId;
    public static EntityColumn title;
    public static EntityColumn type;
    static {
        Set<EntityColumn> columns = entityTable.getEntityClassColumns();
        Map<String, EntityColumn> listMap = new HashMap<>();
        for (EntityColumn column : columns) {
            listMap.put(column.getProperty(), column);
        }
        functionId = listMap.get("functionId");
        permissions = listMap.get("permissions");
        jsScript = listMap.get("jsScript");
        locationType = listMap.get("locationType");
        redirectTo = listMap.get("redirectTo");
        pageId = listMap.get("pageId");
        title = listMap.get("title");
        type = listMap.get("type");
        }

    public DiyFunctionExample() {
        this.setTableAlias(entityTable.getName());
    }

    @Override
    public EntityTable getEntityTable() {
        return entityTable;
    }

    @Override
    protected DiyFunctionExample.Criteria createCriteriaInternal() {
        return new DiyFunctionExample.Criteria(this);
    }

    public static class Criteria extends SgExample.GeneratedCriteria<Criteria> {
        protected Criteria(SgExample example) {
            super(example);
        }

        public DiyFunctionExample.Criteria andFunctionIdIsNull() {
            return isNull(functionId);
        }

        public DiyFunctionExample.Criteria andFunctionIdIsNotNull() {
            return isNotNull(functionId);
        }

        public DiyFunctionExample.Criteria andFunctionIdEqualTo(Long value) {
            return equalTo(functionId, value);
        }

        public DiyFunctionExample.Criteria andFunctionIdNotEqualTo(Long value) {
            return notEqualTo(functionId, value);
        }

        public DiyFunctionExample.Criteria andFunctionIdGreaterThan(Long value) {
            return greaterThan(functionId, value);
        }

        public DiyFunctionExample.Criteria andFunctionIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(functionId, value);
        }

        public DiyFunctionExample.Criteria andFunctionIdLessThan(Long value) {
            return lessThan(functionId, value);
        }

        public DiyFunctionExample.Criteria andFunctionIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(functionId, value);
        }

        public DiyFunctionExample.Criteria andFunctionIdIn(List<Long> values) {
            return in(functionId, values);
        }

        public DiyFunctionExample.Criteria andFunctionIdNotIn(List<Long> values) {
            return notIn(functionId, values);
        }

        public DiyFunctionExample.Criteria andFunctionIdBetween(Long value1, Long value2) {
            return between(functionId, value1, value2);
        }

        public DiyFunctionExample.Criteria andFunctionIdNotBetween(Long value1, Long value2) {
            return notBetween(functionId, value1, value2);
        }
        public DiyFunctionExample.Criteria andPermissionsIsNull() {
            return isNull(permissions);
        }

        public DiyFunctionExample.Criteria andPermissionsIsNotNull() {
            return isNotNull(permissions);
        }

        public DiyFunctionExample.Criteria andPermissionsEqualTo(String value) {
            return equalTo(permissions, value);
        }

        public DiyFunctionExample.Criteria andPermissionsNotEqualTo(String value) {
            return notEqualTo(permissions, value);
        }

        public DiyFunctionExample.Criteria andPermissionsGreaterThan(String value) {
            return greaterThan(permissions, value);
        }

        public DiyFunctionExample.Criteria andPermissionsGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(permissions, value);
        }

        public DiyFunctionExample.Criteria andPermissionsLessThan(String value) {
            return lessThan(permissions, value);
        }

        public DiyFunctionExample.Criteria andPermissionsLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(permissions, value);
        }

        public DiyFunctionExample.Criteria andPermissionsLike(String value) {
            return like(permissions, value);
        }

        public DiyFunctionExample.Criteria andPermissionsNotLike(String value) {
            return notLike(permissions, value);
        }

        public DiyFunctionExample.Criteria andPermissionsIn(List<String> values) {
            return in(permissions, values);
        }

        public DiyFunctionExample.Criteria andPermissionsNotIn(List<String> values) {
            return notIn(permissions, values);
        }

        public DiyFunctionExample.Criteria andPermissionsBetween(String value1, String value2) {
            return between(permissions, value1, value2);
        }

        public DiyFunctionExample.Criteria andPermissionsNotBetween(String value1, String value2) {
            return notBetween(permissions, value1, value2);
        }
        public DiyFunctionExample.Criteria andJsScriptIsNull() {
            return isNull(jsScript);
        }

        public DiyFunctionExample.Criteria andJsScriptIsNotNull() {
            return isNotNull(jsScript);
        }

        public DiyFunctionExample.Criteria andJsScriptEqualTo(String value) {
            return equalTo(jsScript, value);
        }

        public DiyFunctionExample.Criteria andJsScriptNotEqualTo(String value) {
            return notEqualTo(jsScript, value);
        }

        public DiyFunctionExample.Criteria andJsScriptGreaterThan(String value) {
            return greaterThan(jsScript, value);
        }

        public DiyFunctionExample.Criteria andJsScriptGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(jsScript, value);
        }

        public DiyFunctionExample.Criteria andJsScriptLessThan(String value) {
            return lessThan(jsScript, value);
        }

        public DiyFunctionExample.Criteria andJsScriptLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(jsScript, value);
        }

        public DiyFunctionExample.Criteria andJsScriptLike(String value) {
            return like(jsScript, value);
        }

        public DiyFunctionExample.Criteria andJsScriptNotLike(String value) {
            return notLike(jsScript, value);
        }

        public DiyFunctionExample.Criteria andJsScriptIn(List<String> values) {
            return in(jsScript, values);
        }

        public DiyFunctionExample.Criteria andJsScriptNotIn(List<String> values) {
            return notIn(jsScript, values);
        }

        public DiyFunctionExample.Criteria andJsScriptBetween(String value1, String value2) {
            return between(jsScript, value1, value2);
        }

        public DiyFunctionExample.Criteria andJsScriptNotBetween(String value1, String value2) {
            return notBetween(jsScript, value1, value2);
        }
        public DiyFunctionExample.Criteria andLocationTypeIsNull() {
            return isNull(locationType);
        }

        public DiyFunctionExample.Criteria andLocationTypeIsNotNull() {
            return isNotNull(locationType);
        }

        public DiyFunctionExample.Criteria andLocationTypeEqualTo(Integer value) {
            return equalTo(locationType, value);
        }

        public DiyFunctionExample.Criteria andLocationTypeNotEqualTo(Integer value) {
            return notEqualTo(locationType, value);
        }

        public DiyFunctionExample.Criteria andLocationTypeGreaterThan(Integer value) {
            return greaterThan(locationType, value);
        }

        public DiyFunctionExample.Criteria andLocationTypeGreaterThanOrEqualTo(Integer value) {
            return greaterThanOrEqualTo(locationType, value);
        }

        public DiyFunctionExample.Criteria andLocationTypeLessThan(Integer value) {
            return lessThan(locationType, value);
        }

        public DiyFunctionExample.Criteria andLocationTypeLessThanOrEqualTo(Integer value) {
            return lessThanOrEqualTo(locationType, value);
        }

        public DiyFunctionExample.Criteria andLocationTypeIn(List<Integer> values) {
            return in(locationType, values);
        }

        public DiyFunctionExample.Criteria andLocationTypeNotIn(List<Integer> values) {
            return notIn(locationType, values);
        }

        public DiyFunctionExample.Criteria andLocationTypeBetween(Integer value1, Integer value2) {
            return between(locationType, value1, value2);
        }

        public DiyFunctionExample.Criteria andLocationTypeNotBetween(Integer value1, Integer value2) {
            return notBetween(locationType, value1, value2);
        }
        public DiyFunctionExample.Criteria andRedirectToIsNull() {
            return isNull(redirectTo);
        }

        public DiyFunctionExample.Criteria andRedirectToIsNotNull() {
            return isNotNull(redirectTo);
        }

        public DiyFunctionExample.Criteria andRedirectToEqualTo(String value) {
            return equalTo(redirectTo, value);
        }

        public DiyFunctionExample.Criteria andRedirectToNotEqualTo(String value) {
            return notEqualTo(redirectTo, value);
        }

        public DiyFunctionExample.Criteria andRedirectToGreaterThan(String value) {
            return greaterThan(redirectTo, value);
        }

        public DiyFunctionExample.Criteria andRedirectToGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(redirectTo, value);
        }

        public DiyFunctionExample.Criteria andRedirectToLessThan(String value) {
            return lessThan(redirectTo, value);
        }

        public DiyFunctionExample.Criteria andRedirectToLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(redirectTo, value);
        }

        public DiyFunctionExample.Criteria andRedirectToLike(String value) {
            return like(redirectTo, value);
        }

        public DiyFunctionExample.Criteria andRedirectToNotLike(String value) {
            return notLike(redirectTo, value);
        }

        public DiyFunctionExample.Criteria andRedirectToIn(List<String> values) {
            return in(redirectTo, values);
        }

        public DiyFunctionExample.Criteria andRedirectToNotIn(List<String> values) {
            return notIn(redirectTo, values);
        }

        public DiyFunctionExample.Criteria andRedirectToBetween(String value1, String value2) {
            return between(redirectTo, value1, value2);
        }

        public DiyFunctionExample.Criteria andRedirectToNotBetween(String value1, String value2) {
            return notBetween(redirectTo, value1, value2);
        }
        public DiyFunctionExample.Criteria andPageIdIsNull() {
            return isNull(pageId);
        }

        public DiyFunctionExample.Criteria andPageIdIsNotNull() {
            return isNotNull(pageId);
        }

        public DiyFunctionExample.Criteria andPageIdEqualTo(Long value) {
            return equalTo(pageId, value);
        }

        public DiyFunctionExample.Criteria andPageIdNotEqualTo(Long value) {
            return notEqualTo(pageId, value);
        }

        public DiyFunctionExample.Criteria andPageIdGreaterThan(Long value) {
            return greaterThan(pageId, value);
        }

        public DiyFunctionExample.Criteria andPageIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(pageId, value);
        }

        public DiyFunctionExample.Criteria andPageIdLessThan(Long value) {
            return lessThan(pageId, value);
        }

        public DiyFunctionExample.Criteria andPageIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(pageId, value);
        }

        public DiyFunctionExample.Criteria andPageIdIn(List<Long> values) {
            return in(pageId, values);
        }

        public DiyFunctionExample.Criteria andPageIdNotIn(List<Long> values) {
            return notIn(pageId, values);
        }

        public DiyFunctionExample.Criteria andPageIdBetween(Long value1, Long value2) {
            return between(pageId, value1, value2);
        }

        public DiyFunctionExample.Criteria andPageIdNotBetween(Long value1, Long value2) {
            return notBetween(pageId, value1, value2);
        }
        public DiyFunctionExample.Criteria andTitleIsNull() {
            return isNull(title);
        }

        public DiyFunctionExample.Criteria andTitleIsNotNull() {
            return isNotNull(title);
        }

        public DiyFunctionExample.Criteria andTitleEqualTo(String value) {
            return equalTo(title, value);
        }

        public DiyFunctionExample.Criteria andTitleNotEqualTo(String value) {
            return notEqualTo(title, value);
        }

        public DiyFunctionExample.Criteria andTitleGreaterThan(String value) {
            return greaterThan(title, value);
        }

        public DiyFunctionExample.Criteria andTitleGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(title, value);
        }

        public DiyFunctionExample.Criteria andTitleLessThan(String value) {
            return lessThan(title, value);
        }

        public DiyFunctionExample.Criteria andTitleLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(title, value);
        }

        public DiyFunctionExample.Criteria andTitleLike(String value) {
            return like(title, value);
        }

        public DiyFunctionExample.Criteria andTitleNotLike(String value) {
            return notLike(title, value);
        }

        public DiyFunctionExample.Criteria andTitleIn(List<String> values) {
            return in(title, values);
        }

        public DiyFunctionExample.Criteria andTitleNotIn(List<String> values) {
            return notIn(title, values);
        }

        public DiyFunctionExample.Criteria andTitleBetween(String value1, String value2) {
            return between(title, value1, value2);
        }

        public DiyFunctionExample.Criteria andTitleNotBetween(String value1, String value2) {
            return notBetween(title, value1, value2);
        }
        public DiyFunctionExample.Criteria andTypeIsNull() {
            return isNull(type);
        }

        public DiyFunctionExample.Criteria andTypeIsNotNull() {
            return isNotNull(type);
        }

        public DiyFunctionExample.Criteria andTypeEqualTo(Integer value) {
            return equalTo(type, value);
        }

        public DiyFunctionExample.Criteria andTypeNotEqualTo(Integer value) {
            return notEqualTo(type, value);
        }

        public DiyFunctionExample.Criteria andTypeGreaterThan(Integer value) {
            return greaterThan(type, value);
        }

        public DiyFunctionExample.Criteria andTypeGreaterThanOrEqualTo(Integer value) {
            return greaterThanOrEqualTo(type, value);
        }

        public DiyFunctionExample.Criteria andTypeLessThan(Integer value) {
            return lessThan(type, value);
        }

        public DiyFunctionExample.Criteria andTypeLessThanOrEqualTo(Integer value) {
            return lessThanOrEqualTo(type, value);
        }

        public DiyFunctionExample.Criteria andTypeIn(List<Integer> values) {
            return in(type, values);
        }

        public DiyFunctionExample.Criteria andTypeNotIn(List<Integer> values) {
            return notIn(type, values);
        }

        public DiyFunctionExample.Criteria andTypeBetween(Integer value1, Integer value2) {
            return between(type, value1, value2);
        }

        public DiyFunctionExample.Criteria andTypeNotBetween(Integer value1, Integer value2) {
            return notBetween(type, value1, value2);
        }
    }
}